﻿using MiniErp.Entity.DataStreams.DTOs;
using MiniErp.Entity.DataStreams.DTOs.Rights;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MiniErp.Service.BusinessService.IService.Rights
{
    /// <summary>
    /// 岗位系统权限管理服务层
    /// </summary>
    public interface IRightsService
    {

        /// <summary>
        /// 查询所有岗位系统权限信息 //分页
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="num">每页数据条数</param>
        /// <returns></returns>
        Task<List<RightsDTO>> GetAllRightsAsync(int page, int num);
        /// <summary>
        /// 指定岗位编号查询岗位系统权限信息 //分页
        /// </summary>
        /// <param name="jobsid">岗位编号</param>
        /// <param name="page">页码</param>
        /// <param name="num">每页数据条数</param>
        /// <returns></returns>
        Task<List<RightsDTO>> GetRightsByJobsIdAsync(int jobsid, int page, int num);
        /// <summary>
        ///  指定系统编号查询岗位系统权限信息 //分页
        /// </summary>
        /// <param name="systemsid">系统编号</param>
        /// <param name="page">页码</param>
        /// <param name="num">每页数据条数</param>
        /// <returns></returns>
        Task<List<RightsDTO>> GetRightsBySystemsIdAsync(int systemsid, int page, int num);
        /// <summary>
        /// 修改岗位系统权限信息
        /// </summary>
        /// <param name="rightsDTO">修改岗位系统权限DTO</param>
        Task<bool> UpdateRightsAsync(UpdateRightsDto rightsDTO);
        /// <summary>
        /// 新增岗位系统权限信息
        /// </summary>
        /// <param name="rightsDTO">新增岗位系统权限DTO</param>
        Task<bool> AddRightsAsync(AddRightsDTO rightsDTO);
        /// <summary>
        /// 删除岗位系统权限信息
        /// </summary>
        /// <param name="JobsSystemsRightsId">岗位系统权限编号</param>
        Task<bool> DeleteRightsAsync(int JobsSystemsRightsId);
    }
}
